home *** CD-ROM | disk | FTP | other *** search
- Spektrum V 1.0
-
- Bei dem Programm Spektrum handelt es sich um eine Demo des DSP56001.
- Der DSP berechnet eine 256-Punkte-FFT eines Stereoeingangssignals in
- Echtzeit. Auf dem Bildschirm des Falcon werden allerdings nur ca. 10
- Spektren pro Sekunde dargestellt. Bei 49170Hz Abtastfrequenz
- (maximale Abtastfrequenz des Falcon Soundsystems) werden vom DSP etwa
- 192 Spektren je Stereokanal pro Sekunde berechnet.
-
- Das Programm besteht aus drei Teilen:
- SPEKTRUM.PRG ... das eigentliche Programm
- SPEKTRUM.LOD ... das DSP-Programm im .LOD-Format
- SPEKTRUM.MAN ... dieser Text.
-
- Das Programm benutzt normalerweise die 50kHz (49170Hz) Abtastfre-
- quenz. Andere Abtastfrequenzen lassen sich mit der -f Option in der
- Kommandozeile (beim Aufruf von einer Shell) oder im Feld 'Parameter'
- bei Anwendung anmelden im Desktopmenü einstellen. Folgende Optionen
- sind definiert:
- -f 50 ... 49150Hz Abtastfrequenz (default)
- -f 33 ... 33880Hz Abtastfrequenz
- -f 25 ... 24585Hz Abtastfrequenz
- -f 20 ... 20770Hz Abtastfrequenz
- -f 16 ... 16490Hz Abtastfrequenz
- -f 12 ... 12292Hz Abtastfrequenz
- -f 10 ... 9834Hz Abtastfrequenz
- -f 8 ... 8195Hz Abtastfrequenz
- (Man beachte das Leerzeichen zwischen -f und der Zahl.)
-
- Nach dem Start öffnet das Programm ein Fenster mit zwei Ausgabefel-
- dern, in denen die 128 Punkte des logarithmierten Betrags des
- Spektrums von 0Hz bis Abtastfrequenz/2 dargestellt werden. Im oberen
- Feld wird der linke, im unteren der rechte Kanal gezeichnet. Die
- Felder sind links mit dem Pegel von 0dB dis -80dB, oben mit der
- Frequenz in kHz beschriftet (bei 10kHz stimmt die Beschriftung
- nicht). In der Mitte befindet sich (wichtig!) der Copyrighthinweis.
-
- Wer das DSP-Programm für ander Zwecke nutzen will, hier kurz die
- Beschreibung, wie die Daten geliefert werden. Der DSP erhält die
- Eingangsdaten der Zeitfunktion über die DMA-Schnittstelle und liefert
- die berechneten Spektren auch dort wieder ab. Auf der Host-Seite
- lassen sich entsprechende Verbindungen mit der xbios-Funktion
- devconnect herstellen (z.B. ADC mit DSPREC und DSPXMIT mit DMAREC).
- Die Daten sind im Ergebnisdatenstrom so aufgebaut:
-
- +--------------------------------------------------+
- | 0 | 1 ... 128 | 129 | 130 ... 255 |
- +--------------------------------------------------+
- ^ ^ ^ ^
- | | | |
- | | | +-- Wort 130 bis 255: Betrags-
- | | | quadrate des Spektrums (nicht
- | | | sehr genau)
- | | +-- Wort 129: Markierung (Hex 8000),
- | | kommt sonst im Spektrum nicht vor.
- | +-- Wort 1 bis 128: Logarithmus der Betragsquadrate von
- | fa/256 bis fa/2 in Schritten von fa/256 (fa...Abtastfre-
- | quenz). Der Logarithmus ist mit 256 multipliziert, um in
- | zwei Byte (1 Wort) zu passen.
- +-- Wort 0: Gleichanteil, nicht logarithmiert.
-
- Der Logarithmus des Wertes 0 (-unendlich) wird durch Hex ce00
- dargestellt (entspricht dez. -50.00).
- Der DSP nimmt seine Arbeit auf, wenn das Hostflag Hf0 = 1 gesetzt
- wird. Wird Hf0 = 0 gesetzt, beendet er seine Tätigket und geht in
- den Stop-Zustand (energiesparend).
-
- Wer an weiteren Informationen interresiert ist, hier meine Anschrift:
-
- CUBE: thomasg @ cube.net
- Maus-Netz: Thomas Gerner @ M
-
- Das Host-Programm ist in C geschrieben und von GNU-Compiler Version
- 2.1 übersetzt. Das LOD-File für den DSP wurde mit den Assembler von
- Quinn C. Jensen erzeugt.
-
- Spektrum V 1.1
-
- Einige Bugs gefixt. Spektrum läut jetzt auch unter MultiTos. SIGTERM
- und SIGINT beenden das Programm sauber. Der Fehler im DSP-Programm,
- daß nur ein Kanal auf beiden Spuren übertragen wurde, ist auch besei-
- tigt.
-